<html>
<head><meta charset="utf-8"><title>libc traits - https://github.com/rust-lang/rfcs/pull/2235 · general · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/index.html">general</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html">libc traits - https://github.com/rust-lang/rfcs/pull/2235</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="148719438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719438">(Nov 28 2018 at 15:33)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> why do you think the libc traits have to be behind a feature at all ? I don't really follow the rationale.</p>



<a name="148719535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719535">(Nov 28 2018 at 15:35)</a>:</h4>
<p>I mean, during the RFC it was argued that this should depend on what impact these features would have, and @Susurrus went out of its way to actually implement this, and measure the effect of these features on compile-times. </p>
<p>The effect is negligible, ~1 extra second of compile time in @Susurrus benchmarks. I think that having this as an off by default single feature like @SimonSapin suggests could be "ok" (don't pay for what you don't use), but I am not sure if its worth it because it's something else in the matrix that we have to test, gets less use if not everybody has it enabled, all code would be full of <code>cfg_attr</code>s, etc. and all of this just to shave 1 second in compile times "once".</p>



<a name="148719636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719636">(Nov 28 2018 at 15:36)</a>:</h4>
<p>And even then, <code>libc</code> is probably compiled in parallel with other crates, so that ~1 extra second might turn out to be even less than that in practice.</p>



<a name="148719676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719676">(Nov 28 2018 at 15:37)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> for me it's just being conservative, we can always turn it on by default later</p>



<a name="148719688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719688">(Nov 28 2018 at 15:37)</a>:</h4>
<p><code>libc</code> is just so tricky to change</p>



<a name="148719711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719711">(Nov 28 2018 at 15:37)</a>:</h4>
<p>I agree there's no technical known reason to not turn on by default</p>



<a name="148719728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719728">(Nov 28 2018 at 15:37)</a>:</h4>
<p>I figure we can see what the experience is if they're turned off</p>



<a name="148719731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719731">(Nov 28 2018 at 15:37)</a>:</h4>
<p>yeah, i would prefer to say that this has to be implemented behind a single feature first, but than then we should decide whether we keep it that way, or not</p>



<a name="148719747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719747">(Nov 28 2018 at 15:37)</a>:</h4>
<p>the moment the cargo feature is "stable", we have to keep it around forever</p>



<a name="148719822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719822">(Nov 28 2018 at 15:38)</a>:</h4>
<p>I think w/e we publish to <a href="http://crates.io" target="_blank" title="http://crates.io">crates.io</a> must be considered insta-stable though</p>



<a name="148719828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719828">(Nov 28 2018 at 15:38)</a>:</h4>
<p>implementing this behind one cargo feature per-trait as <span class="user-mention" data-user-id="119235">@David Tolnay</span> suggests feels a bit overkill TBH</p>



<a name="148719832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719832">(Nov 28 2018 at 15:38)</a>:</h4>
<p>I don't think we have much of an out to avoiding that</p>



<a name="148719846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719846">(Nov 28 2018 at 15:38)</a>:</h4>
<p>it doesn't matter too much though?</p>



<a name="148719854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719854">(Nov 28 2018 at 15:39)</a>:</h4>
<p>they're small names and small features</p>



<a name="148719856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719856">(Nov 28 2018 at 15:39)</a>:</h4>
<p>I think @Susurrus wanted to send a single PR implementing this for the whole library at once</p>



<a name="148719874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719874">(Nov 28 2018 at 15:39)</a>:</h4>
<p>sure? but that's still fine to have a feature-per-trait</p>



<a name="148719905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719905">(Nov 28 2018 at 15:40)</a>:</h4>
<p>Its one <code>cfg_attr</code> per trait per type, I mean, can be done, but looks like too much work for too little win</p>



<a name="148719988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148719988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148719988">(Nov 28 2018 at 15:40)</a>:</h4>
<p>(FWIW, it'd be nice if there was link to context here, because without this discussion is rather meaningless to observers^^)</p>



<a name="148720011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720011">(Nov 28 2018 at 15:40)</a>:</h4>
<p><a href="https://github.com/rust-lang/rfcs/pull/2235" target="_blank" title="https://github.com/rust-lang/rfcs/pull/2235">https://github.com/rust-lang/rfcs/pull/2235</a></p>



<a name="148720020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720020">(Nov 28 2018 at 15:41)</a>:</h4>
<p>thanks!</p>



<a name="148720128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720128">(Nov 28 2018 at 15:42)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> there's just one location this is being done though? in one macro?</p>



<a name="148720133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720133">(Nov 28 2018 at 15:42)</a>:</h4>
<p>I mean: <code>#[cfg_attr(feature = "trait-eq", derive(Eq))] #[cfg_attr(feature = "trait-..."), derive(...)] ...</code> we can put it all behind macros, but we would be having all these features to shave a fraction of that 1 extra second</p>



<a name="148720166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720166">(Nov 28 2018 at 15:42)</a>:</h4>
<p>I'm not necessarily worried about the exact time today</p>



<a name="148720172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720172">(Nov 28 2018 at 15:42)</a>:</h4>
<p>but moreso about the long-term-future of libc</p>



<a name="148720181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720181">(Nov 28 2018 at 15:42)</a>:</h4>
<p>yes, i think that would all go in the <code>s</code> macro</p>



<a name="148720182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720182">(Nov 28 2018 at 15:42)</a>:</h4>
<p>as we continue to add more and more types</p>



<a name="148720199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720199">(Nov 28 2018 at 15:43)</a>:</h4>
<p>like this was a clear win in winapi</p>



<a name="148720214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720214">(Nov 28 2018 at 15:43)</a>:</h4>
<p>i mean, <code>winapi</code> is huge</p>



<a name="148720420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720420">(Nov 28 2018 at 15:43)</a>:</h4>
<p>if libc turns into <code>winapi</code>, then everybody will be paying for a lot of stuff they don't use anyways, just check <code>winapi</code> feature flags</p>



<a name="148720481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720481">(Nov 28 2018 at 15:44)</a>:</h4>
<p>they have dozens and dozens of features</p>



<a name="148720484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720484">(Nov 28 2018 at 15:44)</a>:</h4>
<p>I guess I just don't understand why there's pushback here</p>



<a name="148720492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720492">(Nov 28 2018 at 15:44)</a>:</h4>
<p>it shoudl be very easy to implement this</p>



<a name="148720494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720494">(Nov 28 2018 at 15:44)</a>:</h4>
<p>and we can change it in the future</p>



<a name="148720497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720497">(Nov 28 2018 at 15:44)</a>:</h4>
<p>what's the downside?</p>



<a name="148720580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720580">(Nov 28 2018 at 15:45)</a>:</h4>
<p>the downside is that's just more features to test in the matrix for little win</p>



<a name="148720599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720599">(Nov 28 2018 at 15:45)</a>:</h4>
<p>we definitely don't need to test this on all platforms, that's just overkill</p>



<a name="148720605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720605">(Nov 28 2018 at 15:45)</a>:</h4>
<p>it'd just be like one extra entry in one place</p>



<a name="148720733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720733">(Nov 28 2018 at 15:46)</a>:</h4>
<p>we have to build with this on all platforms at least</p>



<a name="148720748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720748">(Nov 28 2018 at 15:47)</a>:</h4>
<p>not run the libc-tests (that's pointless I think), but check that we build properly</p>



<a name="148720767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720767">(Nov 28 2018 at 15:47)</a>:</h4>
<p>some of the <code>repr</code> attributes interact poorly with deriving some traits</p>



<a name="148720798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720798">(Nov 28 2018 at 15:47)</a>:</h4>
<p>e.g. the <code>packed</code> <code>structs</code> cannot derive <code>Debug</code></p>



<a name="148720871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720871">(Nov 28 2018 at 15:48)</a>:</h4>
<p>Ok? Can you take these arguments to the RFC? I'm not convinced but others might</p>



<a name="148720899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720899">(Nov 28 2018 at 15:48)</a>:</h4>
<p>in any case, I'm fine with putting all these traits behind a single feature, but one per trait feels overkill to me</p>



<a name="148720915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/libc%20traits%20-%20https%3A//github.com/rust-lang/rfcs/pull/2235/near/148720915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/libc.20traits.20-.20https.3A.2F.2Fgithub.2Ecom.2Frust-lang.2Frfcs.2Fpull.2F2235.html#148720915">(Nov 28 2018 at 15:49)</a>:</h4>
<p>i didn't consider your argument that this allow us to not offer this "by default" in the future if <code>libc</code> grows enough that this would become a problem</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>